import routes from "@/router/router";
import { manager, counselor, teacher } from "@/store/assist"
import Vue from "vue";
// 导入vuex插件
import Vuex from "vuex"

// 使用vuex插件
Vue.use(Vuex);

// 准备actions，用于响应组件中的动作
const actions = {
    // context：上下文。value：传入的值
    "Role": function (context, value) {
        switch (value) {
            case "老师":
                context.commit("teacher", teacher);
                break;
            case "辅导员":
                context.commit("counselor", counselor);
                break;
            case "管理员":
                context.commit("manager", manager);
                break;
        }
    },
    "role": function (context, value) {
        console.log(value);
        context.commit("role", value);
    }
}
// 准备mutations，用于操作state（数据）
const mutations = {
    role(state, value) {
        state.role = value;
    },
    manager(state, value) {
        state.routes = value;
    },
    counselor(state, value) {
        state.routes = value;
    },
    teacher(state, value) {
        state.routes = value;
    },
}
// 准备state，用于存储数据
const state = {
    // 路由
    routes,
    role: ""
}

// 注意：上面准备的action、mutation、state，其必须都是对象

// 创建store实例对象（Store()是一个构造函数）
const store = new Vuex.Store({
    actions,
    mutations,
    state
});

// 暴露store
export default store;

